app2(app2(filter, f), nil) -> nil
app2(app2(filter, f), app2(app2(cons, y), ys)) -> app2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> app2(app2(cons, y), app2(app2(filter, f), ys))
app2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> app2(app2(filter, f), ys)
↳ QTRS
↳ DependencyPairsProof
app2(app2(filter, f), nil) -> nil
app2(app2(filter, f), app2(app2(cons, y), ys)) -> app2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> app2(app2(cons, y), app2(app2(filter, f), ys))
app2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> app2(app2(filter, f), ys)
APP2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> APP2(filter, f)
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(app2(cons, y), app2(app2(filter, f), ys))
APP2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(filtersub, app2(f, y))
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(filter, f)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(app2(filtersub, app2(f, y)), f)
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(f, y)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(filter, f), nil) -> nil
app2(app2(filter, f), app2(app2(cons, y), ys)) -> app2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> app2(app2(cons, y), app2(app2(filter, f), ys))
app2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> app2(app2(filter, f), ys)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
APP2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> APP2(filter, f)
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(app2(cons, y), app2(app2(filter, f), ys))
APP2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(filtersub, app2(f, y))
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(filter, f)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(app2(filtersub, app2(f, y)), f)
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(f, y)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(filter, f), nil) -> nil
app2(app2(filter, f), app2(app2(cons, y), ys)) -> app2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> app2(app2(cons, y), app2(app2(filter, f), ys))
app2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> app2(app2(filter, f), ys)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
APP2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(f, y)
app2(app2(filter, f), nil) -> nil
app2(app2(filter, f), app2(app2(cons, y), ys)) -> app2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> app2(app2(cons, y), app2(app2(filter, f), ys))
app2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> app2(app2(filter, f), ys)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> APP2(app2(filter, f), ys)
APP2(app2(filter, f), app2(app2(cons, y), ys)) -> APP2(f, y)
POL( APP2(x1, x2) ) = max{0, x2 - 2}
POL( app2(x1, x2) ) = x1 + x2 + 1
POL( cons ) = 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
app2(app2(filter, f), nil) -> nil
app2(app2(filter, f), app2(app2(cons, y), ys)) -> app2(app2(app2(filtersub, app2(f, y)), f), app2(app2(cons, y), ys))
app2(app2(app2(filtersub, true), f), app2(app2(cons, y), ys)) -> app2(app2(cons, y), app2(app2(filter, f), ys))
app2(app2(app2(filtersub, false), f), app2(app2(cons, y), ys)) -> app2(app2(filter, f), ys)